<!DOCTYPE html>
<html>
<head>
    <title>Throttle</title>
</head>
<body>
<script type="text/javascript">
    var count = 0;
    var _body = document.documentElement;
    var resizehandler = function () {
        console.log(count++);
        var _w = _body.clientWidth;
        if (_w < 1200) {
            // addClass(_body, 'w991');
            _body.className = 'w991';
        } else {
            // removeClass(_body, 'w991');
            _body.className = '';
        }


    };

    var throttle = function (method, context){       //节流方法
        clearTimeout(method.tId);                    //执行拖拽动作时,如果计时器未运行完毕，再次拖拽，则会清除调用处理程序，
        method.tId = setTimeout(function(){         // 延迟100毫秒调用处理事件程序
            method.call(context);                  // 把resizehandler()方法放到throttle上来执行(调用一个对象的一个方法，以另一个对象替换当前对象)
        }, 100);
    };
    window.onresize = function(){                     //拖动浏览器窗口执行
        throttle(resizehandler, window);              //节流方法
    };
//    function throttle(method, delay, duration) {
//        var timer = null,
//            begin = new Date();
//        return function () {
//            var context = this,
//                args = arguments,
//                current = new Date();
//            clearTimeout(timer);
//            if (current - begin >= duration) {
//                method.apply(context, args);
//                begin = current;
//            } else {
//                timer = setTimeout(function () {
//                    method.apply(context, args);
//                }, delay);
//            }
//        };
//    }
//
//    window.onresize = throttle(resizehandler, 100, 200);


</script>
</body>
</html>